package day13;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

/*
* Map集合的常用方法
*
* */
public class Demo7 {
    public static void main(String[] args) {
        //创建Map对象
        Map<String,String> map = new HashMap<>();

        //像集合中存放元素
        map.put("星期一","Mon");
        map.put("星期二","Tues");
        map.put("星期三","Wed");

        //根据指定的key获取值
        System.out.println(map.get("星期二"));

        /*
        * 遍历集合中的所有元素
        * */
        //获取map中所有的key值
//        Set<String> keSet = map.keySet();
//
//        Iterator<String> ite = keSet.iterator();

//        System.out.println("迭代器遍历");
//        while(ite.hasNext()){
//            String key = ite.next();
//            //通过key获取value
//            String val = map.get(key);
//
//            System.out.println(key+":"+val);
//        }
//
//        System.out.println("增强for循环遍历");
//        for (String str:map.keySet()) {
//            //通过key获取value
//            String val = map.get(str);
//
//            System.out.println(str+":"+val);
//        }

        /*
        * 将map中的每一个键值对封装为一个entry对象，然后将map转为保存entry对象的set集合
        * */
        Set<Map.Entry<String,String>> setEntry =  map.entrySet();

        //获取setEntry的迭代器对象
        //迭代器遍历
/*        Iterator<Map.Entry<String,String>> ite = setEntry.iterator();

        while(ite.hasNext()){
            Map.Entry<String,String> entry = ite.next();

            System.out.println(entry.getKey()+":"+entry.getValue());

//            String key = ite.next().getKey();
//
//            System.out.println(key+":"+map.get(key));
        }*/

        //foreach遍历
        for(Map.Entry<String,String> item: map.entrySet()){
            System.out.println(item.getKey()+":"+item.getValue());
        }

    }
}
